\documentclass{standalone}
\usepackage{tikz}
\usepackage{ctex,siunitx,bm}
\setCJKmainfont{Noto Serif CJK SC}
\usepackage{tkz-euclide}
\usepackage{amsmath}
\usetikzlibrary{patterns, calc}
\usetikzlibrary {decorations.pathmorphing, decorations.pathreplacing, decorations.shapes,}
\begin{document}
\small
\begin{tikzpicture}[>=latex,yscale=1.0]
  \fill[left color=darkgray,right color=darkgray,middle color=white](-2,0)arc(180:0:2 and 0.5)--++(0,1)arc(0:180:2 and 0.5)--cycle;
  \fill[lightgray](-2,0)rectangle(-2.1,1)(2,0)rectangle(2.1,1);
  \fill[left color=lightgray,right color=lightgray,middle color=white](0,-0.5)ellipse(0.1 and 0.04);
  \fill[left color=lightgray,right color=lightgray,middle color=white](-0.1,-0.5)rectangle(0.1,0.6);
  \fill[left color=gray,right color=gray,middle color=white](0,0.8)ellipse(2 and 0.5);
  \fill[left color=gray,right color=gray,middle color=white](-2,0.8)rectangle(2 ,1);
  \fill[gray](0,1)ellipse(2.0 and 0.5);
  \draw[double=lightgray!20,double distance=1mm,line width=0.01mm](-2.05,1) arc(180:0:2.05 and 0.55);
  \draw[double=lightgray!20,double distance=1mm,line width=0.01mm](-2.05,1)--(-2.05,1.8)(2.05,1)--(2.05,1.8);
  \draw[double=lightgray!20,double distance=1mm,line width=0.01mm,fill=cyan!20,opacity=0.4](0,1.8)ellipse(2.05 and 0.55);
  \fill[ball color=cyan](1.7,1.2)circle(2pt);
  \draw[thin](1.7,1.2)--++(30:1.0)node[right]{放射源};
  \draw[red,->](-4,1.7)--++(1.8,0)node[midway,above,text=black]{照明光束};
  \draw[red,->](-4,1.45)--++(1.8,0);
  \draw[red,->](-4,1.2)--++(1.8,0);
  \draw[thin](-1.7,0.7)--++(225:1.0)node[left]{活塞};
\end{tikzpicture}
\end{document}